package com.condominiosweb.controller;

import com.condominiosweb.bl.UsuarioBL;
import com.condominiosweb.util.CWResultado;
import com.condominiosweb.model.Usuario;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class LoginController extends HttpServlet {
    
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        Usuario usuario = new Usuario();
        usuario.setCodigo(request.getParameter("usuario"));
        usuario.setContrasena(request.getParameter("contrasena"));
        if(usuario.getCodigo() == null || usuario.getContrasena() == null){
            request.getRequestDispatcher("login.jsp").forward(request, response);
        }else {
            UsuarioBL usuarioBL = new UsuarioBL();
            if(usuarioBL.iniciarSesion(usuario.getCodigo(), usuario.getContrasena())){
                request.getSession().setAttribute("usuario", usuario);
                response.sendRedirect("index.jsp");
            }else{
                CWResultado res = new CWResultado();
                res.setMensaje("Usuario o contraseña incorrecto.");
                request.setAttribute("resultado", res);
                request.getRequestDispatcher("login.jsp").forward(request, response);
            }
        }
        response.setContentType("text/html;charset=UTF-8");
    }

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    @Override
    public String getServletInfo() {
        return "Short description";
    }

}
